package com.filldream.fastboot.core.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.filldream.fastboot.base.entity.SystemUser;
import com.filldream.fastboot.base.request.pc.systemUser.ModifyPasswordSTO;
import com.filldream.fastboot.base.request.pc.systemUser.SystemLoginSTO;
import com.filldream.fastboot.base.request.pc.systemUser.SystemUserListSTO;
import com.filldream.fastboot.common.entity.B;
import com.filldream.fastboot.common.entity.P;
import com.filldream.fastboot.common.entity.R;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * @author RickSun && iFillDream
 * @version 1.0
 * @data 2020-05-07 17:38
 * @description AccountService
 */
public interface SystemUserService extends IService<SystemUser> {

    //登陆
    R doLogin(SystemLoginSTO systemLoginSTO, String id);

    //退出
    B loginOut(HttpServletRequest request, HttpSession session, HttpServletResponse response);

    //修改当前管理员密码
    B modifyPassword(ModifyPasswordSTO modifyPasswordSTO);

    //管理员列表，根据当前管理员展示
    P systemUserList(SystemUserListSTO systemUserListSTO);

    //添加管理员
    R<SystemUser> addSystemUser(SystemUser systemUser);

    //修改管理员
    B modifySystemUser(SystemUser systemUser);

    //修改管理员启用状态
    B modifySystemUserStatus(Long id, Integer status);

    R<Boolean> validCaptcha(String account);

    B resetPwd(ModifyPasswordSTO modifyPasswordSTO);
}
